﻿#ifndef CODERBDAPI_H
#define CODERBDAPI_H

#include "BDPcCoder_global.h"


class CoderBDApi
{
public:
  CoderBDApi();
  virtual ~CoderBDApi();

  bool    CheckData(const T_BDRSDATA *bData);
  bool    CheckHead(const T_BDRSDATA *bData);
  u1      CheckSum(const T_BDRSDATA *bData);


  virtual E_BDPROTOCOL DecoderData(const T_BDRSDATA *tRSData, void **pDest)=0;
  virtual bool CoderDataICR(const T_BDICRDATA *tData, T_BDRSDATA *tRSData)=0;
  virtual bool CoderDataTCQ(const T_BDTCQDATA *tData, T_BDRSDATA *tRSData)=0;
  virtual bool CoderDataTBQ(const T_BDTBQDATA *tData, T_BDRSDATA *tRSData)=0;
  virtual bool CoderDataMSS(const T_BDMSSDATA *tData, T_BDRSDATA *tRSData)=0;
  virtual bool CoderDataEPQ(const T_BDEPQDATA *tData, T_BDRSDATA *tRSData)=0;
  virtual bool CoderDataCMD(const char *sData, const u4 uLen, T_BDRSDATA *tRSData)=0;
};

#endif // CODERBDAPI_H
